home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / amos / examples.lha / Salim_Amos_Sources / Shade-Bobs.Amos / Shade-Bobs.amosSourceCode
AMOS Source Code  |  1995-08-30  |  3KB  |  155 lines

  1. '
  2. ' Shade Bobs 
  3. '
  4. ' do not try to break this program 
  5. ' use LMB to exit
  6. '
  7. '
  8. ' (c) Gasmi Salim  
  9. '
  10.  
  11. Break Off 
  12.  
  13. _XOR=%1100000
  14. _AND=%10000000
  15. _OR=%11100000
  16. _BIZ=%100000
  17.  
  18. TX=31
  19. TY=31
  20. Global _XOR,_AND,_OR,_BIZ,TX,TY
  21.  
  22. Procedure SHADE
  23. '
  24. '
  25. Data $0,$110,$210,$310,$410,$420,$620,$630,$730,$840,$950,$A70
  26. Data $C80,$DA0,$EC0,$FE0
  27. '
  28. '
  29. Dim SAV(200)
  30. '  
  31. '
  32. Screen Open 4,320,50,2,Lowres
  33. Screen Hide 4
  34. Curs Off 
  35. Flash Off 
  36. Cls 0
  37. Ink 1
  38. Circle 15,15,15
  39. Paint 15,15
  40. '
  41. '
  42. Screen Open 0,320,260,2,Lowres
  43. Cls 0 : Screen Hide : Hide On : Flash Off 
  44. SC0=Logbase(0)
  45. '
  46. Screen Open 1,320,260,2,Lowres
  47. Cls 0 : Screen Hide : Hide On : Flash Off 
  48. SC1=Logbase(0)
  49. '
  50. Screen Open 2,320,260,2,Lowres
  51. Cls 0 : Screen Hide : Hide On : Flash Off 
  52. SC2=Logbase(0)
  53. '
  54. Screen Open 3,320,260,2,Lowres
  55. Cls 0 : Screen Hide : Hide On : Flash Off 
  56. SC3=Logbase(0)
  57. '
  58. '
  59. '
  60. Screen Open 6,320,260,2,Lowres
  61. Cls 0 : Screen Hide : Hide On : Flash Off 
  62. SC4=Logbase(0)
  63. '
  64. '
  65. '
  66. Screen Open 5,320,260,32,Lowres
  67. Cls 0 : Hide On : Flash Off 
  68. '  
  69. '
  70. For I=0 To 15
  71.    Read E
  72.    Colour I,E
  73.    Colour 31-I,E
  74. Next I
  75. '
  76. Wait Vbl 
  77. On Error Goto FIN
  78. '
  79. ADR=Screen Base
  80. For I=ADR To ADR+68 Step 4
  81.    SAV(I-ADR)=Leek(I)
  82. Next 
  83. '  
  84. '
  85. Loke ADR,SC0
  86. Loke ADR+4,SC1
  87. Loke ADR+8,SC2
  88. Loke ADR+12,SC3
  89. Loke ADR+16,SC4
  90. Loke ADR+20,0
  91. Loke ADR+24,SC0
  92. Loke ADR+28,SC1
  93. Loke ADR+32,SC2
  94. Loke ADR+36,SC3
  95. Loke ADR+40,SC4
  96. Loke ADR+44,0
  97. Loke ADR+48,SC0
  98. Loke ADR+52,SC1
  99. Loke ADR+56,SC2
  100. Loke ADR+60,SC3
  101. Loke ADR+64,SC4
  102. Loke ADR+68,0
  103. POSI=1
  104. COPPER1
  105. Rainbow 1,1,0,0
  106. T#=0.0
  107. P#=0.005
  108. J#=6.48332
  109. POSI=1
  110. Limit Mouse 0,0 To 500,300
  111. Timer=0
  112. Repeat 
  113.    X#=135+130*Sin(Sqr(J#*T#)*Sin(J#*T#))
  114.    Y#=100+100*Cos(J#*T#)
  115.    T#=T#+P#
  116.    X=X#
  117.    Y=Y#
  118.    Screen Copy 0,X,Y,X+TX,Y+TY To 4,50,0
  119.    Screen Copy 4,0,0,TX,TY To 4,50,0,_AND
  120.    Screen Copy 1,X,Y,X+TX,Y+TY To 4,100,0
  121.    Screen Copy 4,50,0,50+TX,TY To 4,100,0,_AND
  122.    Screen Copy 2,X,Y,X+TX,Y+TY To 4,150,0
  123.    Screen Copy 4,100,0,100+TX,TY To 4,150,0,_AND
  124.    Screen Copy 3,X,Y,X+TX,Y+TY To 4,200,0
  125.    Screen Copy 4,150,0,150+TX,TY To 4,200,0,_AND
  126.    Screen Copy 4,0,0,TX,TY To 0,X,Y,_XOR
  127.    Screen Copy 4,50,0,50+TX,TY To 1,X,Y,_XOR
  128.    Screen Copy 4,100,0,100+TX,TY To 2,X,Y,_XOR
  129.    Screen Copy 4,150,0,150+TX,TY To 3,X,Y,_XOR
  130.    Screen Copy 4,200,0,200+TX,TY To 6,X,Y,_XOR
  131. If Mouse Key=2 Then Fade 3
  132. Until(Mouse Key=1 or Timer>900)
  133. '
  134. FIN:
  135. For I=0 To 68 Step 4
  136.    Loke ADR+I,SAV(I)
  137. Next 
  138. Fade 4
  139. Wait 24
  140. Screen Close 3
  141. Screen Close 2
  142. Screen Close 1
  143. Screen Close 6
  144. Screen Close 0
  145. Screen Show 4
  146. End Proc
  147. Procedure COPPER1
  148.    Set Rainbow 1,0,256,"","",""
  149.    For I=1 To 255
  150.       K=$A
  151.       If I<128 Then K=$F
  152.       Rain(1,I)=K
  153.    Next 
  154. End Proc
  155. SHADE